<!doctype html public "html2.0">
<html> 
<head>
<title>What's New with TSpaces?</title>
<!-- created by: Toby Lehman, 25-Jan-1998 -->
<meta name="abstract" content="TSpaces Install Instructions ">
<meta name="keywords" content="TSpaces Java TupleSpace Database">
<meta name="owner"    content="toby@almaden.ibm.com">
<meta name="review"   content="19980125">
<meta name="security" content="public">
</head>

<! Set white background with red and purple links ->
<body bgcolor="#ffffff" text="#000000" link="#CC0000" alink="#ff3300" vlink="#330099">
<! Include the Masthead -> 
<center>
<img src="gifs/masthead.gif" alt="TSpaces" ALIGN = "middle" BORDER = 0 width=600 height=54>
   
</center>


<!----------------------------------------------------------------->
<center>
<H1>What's New with TSpaces?</H1>
</center>
<!----------------------------------------------------------------->
<p>
<UL>
<!----------------------------------------------------------------->
<li>Version 2.1.2 (Released October, 2000)<br>
<!----------------------------------------------------------------->
<p>
Version 2.1.2 contains only fixes to the  
previous 2.1.1 release.  
For more details see the
<a href="#fixes212">list of fixes</a>.
<p>
<!----------------------------------------------------------------->
<li>Version 2.1.1 (Released February, 2000)<br>
<!----------------------------------------------------------------->
<p>
Version 2.1.1 contains only fixes to the  
previous 2.1.0 release.  
For more details see the
<a href="#fixes211">list of fixes</a>.

<p>
<b>Note:</b>Service Pack 2a that fixes a number of problems
in Version 2.1.1 was released on 5/5/2000.  
See the <a href="faq.html#3">FAQ</a> for details.
<p>
<!----------------------------------------------------------------->
<li>Version 2.1.0 (Released November, 1999)<br>
<!----------------------------------------------------------------->
<p>
Version 2.1.0 contains new support for XML.  
It also has numerous enhancements to the previous 2.0.3 release.   
<ul>
<p>
<!------------------------------------->
<li><b>XML Support</b><br>
The current version of TSpaces includes support for XML storage and indexing,
as well as XML queries using the Microsoft XQL syntax.  Support for storage
and indexing of XML documents is done by transforming XML documents into a
tree of TSpaces tuples, linked internally via pointers.  Clients can query a
TSpace server using a XQL-style query syntax. 
For more details see the
<a href="ProgrGuide.html#xml">Programmer's Guide</a>.


<!------------------------------------->
<p>
<!------------------------------------->
<li><b>Local host performance enhancement</b><br>
A new interface between the client and the Server was created 
for the case where the client and the server are running on the
same machine and under the same Java Virtual Machine. 
In this case, the client calls are directly implemented by the 
Server without any serialization or TCPIP socket overhead. 
For more details, see 
<a href="ProgrGuide.html#localserver"><b>Starting a local server</b></a>
in the Programmer's Guide .
<!------------------------------------->
<p>
<!------------------------------------->
<li><b>New Thread option for EventRegister</b><br>
One can now specify that the callback from an event registration
should result in a new thread being started.  This will 
make it much easier to issue new TupleSpace commands from
within the callback. 
<!------------------------------------->
<p>
<li><b>Checkpoint processing enhancements</b><br>
<!------------------------------------->
Checkpointing has been streamlined and a new 
option to checkpoint based on transaction count 
has been implemented.
<p>
<!------------------------------------->
<li><b>Expired Tuple support</b><br>
<!------------------------------------->
The client can now specify an expiration time for Tuples and
after the specified time the Tuple will disappear from the space.
For more details see the
<a href="ProgrGuide.html#expire">Programmer's Guide</a>.
<p>
<!------------------------------------->
<li><b>Timeout for blocking commands</b><br>
<!------------------------------------->
There is now an additional operand on the blocking commands,
such as <b>waitToTake</b> that will cause the server to automatically 
terminate the waiting command when the specified time has passed.
For more details see the
<a href="ProgrGuide.html#blocking">Programmer's Guide</a>.


<p>
<!------------------------------------->
<li><b>Performance fixes</b><br>
<!------------------------------------->

A significant performance fix was made for the spaces 
that are specified in the ConfigTuple to be non persistent.
Also a significant performance optimization was made 
in command handling.
<p>Also a change was made that bypasses a significant performance 
bottleneck in the Windows NT environment.

<p>
<!------------------------------------->
<li><b>New <i>takeByTupleID</i> command was added</b><br>
<!------------------------------------->
This was inadvertently omitted from the previous release
<p>
<!------------------------------------->
<li><b>New <i>checkpoint</i> command was added</b><br>
<!------------------------------------->
This will allow a Client with Admin authority to manage 
the space checkpointing.
<p>
<!------------------------------------->
<li>The Exception handling for TupleSpace commands was made 
more consistent.  
<!------------------------------------->
<p>
<!------------------------------------->
<li>Documentation<br>
<!------------------------------------->
An example of how to convert a JavaSpaces application to 
use TSpaces was added to the Programmer's Guide.


<!------------------------------------->
<p>
<li><b>Query support for EventRegister</b><br>
<!------------------------------------->
Previously one could only use a Template query for an eventRegister 
call.  This limitation has been lifted and one can specify any of the 
Query methods,  i.e. IndexQuery(), AndQuery(), ... even XQLQuery().

<!------------------------------------->
<p>
<!------------------------------------->
<li><b>Additional minor fixes</b><br>  
Numerous other code and documentation errors were also fixed 

<!------------------------------------->
<p>
<!------------------------------------->
<li><b>Incompatible Changes</b><br>
<b>Warning:</b>If you had a previous version of the server installed,
you will have to do a complete fresh restart using the <b>-b or -B</b> option.
However, in this release we have included a new Migrate utility that will 
help migrate the Tuples from a Server running the old version to a Server 
running the new version. For more details see the
<a href="Install.html">Install Guide</a>.
<p>
Version 2.0.3 clients should be able to talk to a Version 2.1.0 server and 
a Version 2.1.0 client should be able to talk to a Version 2.0.3 server. 
</ul>

<p><hr><p>


<!----------------------------------------------------------------->
<p>
<UL>
<!----------------------------------------------------------------->
<li>Version 2.0.3 (Released July, 1999)<br>
<!----------------------------------------------------------------->
<p>
Version 2.0.3 contains more fixes and minor code and documentation 
enhancements to the previous 2.0.2 release.   
<ul>
<p>
<!------------------------------------->
<li><b>Additional support for TupleID</b>
The <b>update</b> command now maintains the original TupleID so that 
one can update a Tuple without invalidating other Tuples that may point 
to it via the TupleID. A <b>readTupleById</b> command has been added to
allow navigation of Tuples that might be linked via TupleID. 
<p>
<!------------------------------------->
<li><b>FieldPS</b><br>
A bug in the FieldPS command was fixed so that it would work correctly when the 
Server did not have the class file available.
<p>
<!------------------------------------->
<li><b>Duplicate Named fields in Tuples</b><br>
It now correctly supports multiple Fields in a Tuple that have the same
name.  For Example: 
  <pre>
    new Tuple(new Field("KEY","key1"),new Field("Key","key2"),...)
  </pre>
would result in a Tuple that has 2 index items that it could be located 
by either:
  <ul>
  ts.read(new IndexQuery("KEY","key1")) <br>
    - or - <br>
  ts.read(new IndexQuery("KEY","key2")) <br>
  </ul>
  
<p>
<!------------------------------------->
<li><b>Use of Comparable interface for Indexing</b><br>
It now allows indexing by any object that supports the <b>Comparable</b> 
interface. 
<p>
<!------------------------------------->
<li><b>FIFO support</b><br>
One can now specify that Tuples should always be returned in FIFO order.
Refer to the Programmer's Guide for more details. 
<p>
<!------------------------------------->
<li><b>Additional Index support</b><br>  
There are new options that one can use to specify additional Indexing 
option for a Space. These are specified with the new 
<b>indexCreate</b> and <b>indexDestroy</b> commands.  
<p>
<!------------------------------------->
<li><b>Fix for EventRegister with SubclasableTuple</b><br>  
The failure to use a matches() method provided with SubclassableTuple 
when checking for EventRegister matches has been fixed
<p>
<!------------------------------------->
<li><b>Tuple Timestamp</b><br>  
Tuples are now timestamped by the server at the time they are written to 
the space.  This timestamp can be accessed with the getTimeStamp() method.
<p>

<!------------------------------------->
<li><b>Additional minor fixes</b><br>  
Numerous other code and documentation errors were also fixed 
<p>

<!------------------------------------->
<p>
<li><b>Incompatible Changes</b><br>
<b>Warning:</b>If you had a previous version of the server installed,
you will have to do a complete fresh restart using the <b>-b or -B</b> option.
<p>
Version 2.0.2 clients should be able to talk to a Version 2.0.3 server but 
a Version 2.0.3 client cannot talk to a Version 2.0.2 server. 
</ul>

<p><hr><p>

<!----------------------------------------------------------------->
<li>Version 2.0.2 (Released March, 1999)<br>
<!----------------------------------------------------------------->
<p>
Version 2.0.2 contains more fixes and minor code and documentation enhancements to the 
previous 2.0.1 release.   
<ul>
<p>
<li><b>JDK 1.2.</b><br>
This release is distributed with the class files compiled by JDK 1.2. 
However, it has been tested on JDK 1.1.7 also.  
We know of no release dependencies with JDK 1.1 or 1.2.
<p>
<li><b>New shutdown command is added.</b><br>
This will cleanly shutdown the server.
It can be invoked for the Server subcommand line or as a client command<br>

<p>
<li><b>Field.matches()</b><br>
The previous versions had bugs in both the code and the documentation 
for the matching of Fields within a tuple.  This version has enhanced documentation and 
more importantly, the code matches the documentation.  At the same time, the methods 
within the Field object were changed to be more JavaBean compatible.  So value() has
changed to getValue(), type to getType() etc.  The old methods have been deprecated 
but still work at least in this release.  

<p>
<li><b>EventDeRegister</b>
A new command has been added to allow Event Registrations to be cancelled.

<p>
<li><b>Additional support for TupleID</b>
When a Tuple is writen to a Space it is assigned a TupleID that will
identify that Tuple in that Space.  This TupleID in the past could 
only be retrieved by reading the Tuple and invoking the getUniqueId() 
method on the Tuple. This TupleID could then be used with the 
deleteTupleById command.  We have expanded this support and now we 
also return the TupleID from the write, multiWrite and update commands.
Also new <b>update(TupleID,newTuple)</b> command can be used to directly 
specify a Tuple to be updated.  


<p>
<li><b>TupleSpace.appletEnvironment(true)</b>

The <b>appletEnvironment(true)</b> statement indicates that this is 
an applet environment and modifies the processing so that no Applet 
Security rules will be violated.  This will allow TSpaces client 
code to be used within applets running inside the Netscape and IE4 
browsers.

<p>
<li><b>Set methods for UserName and Passord</b>
There are now static methods that the client can use to set
the UserName and Password values prior to isuing the TupleSpace 
constructor.  This makes it easier to use the static exists() 
method.  Refer to the Programmer's Guide for more information.

<p>
<li><b>Diagnostic Information</b>
The "q" subcommand or http://host:8201/debug now shows 
more information about active transactions.  This may be helpful 
for diagnosing TSpaces problems.

<p>
<li><b>X10 interface example.</b> 
An example has been included of interfacing TSpaces to X10.  The X10 interface allows one 
to control lights and switches within your home from serial port.  
Using this interface between TSpaces and X10, one could 
control lights and switches from a remote location (perhaps via a browser) and likewise
could have computer events triggered by an X10 event. See the 
<a href="examples.html#x10">Examples document</a> 
for additional information. 
<p>
<li><b>Bug Fixes</b>
<ul>
<li>Memory Leak problems
<li>Performance fixes
<li>Checkpoint and Restart fixes
<li>Allow running under Netscape
<li>Web Interface fixes
<li>Numerous other minor fixes
</ul>  
</ul>
<p>
<li><b>Incompatible Changes</b><br>
<b>Warning:</b>If you had a previous version of the server installed,
you will have to do a complete fresh restart using the <b>-B</b> option.
<p>
There are also some incomptible changes that will require 
programming changes in your applications.  If you have used the 
ts.deleteTupleById() method or the related SuperTuple.getUniqueId() method 
then you will need to change your code.  
<ul> 
<li>The getUniqueId() method has been replaced by the getTupleID() method which 
returns a TupleID object instead of an int.  
<li>The signature for deleteByTupleId is now <br>
<b>deleteByTupleId(TupleID id)</b>
</ul>

<p><hr><p>
<!----------------------------------------------------------------->
<hr> 
<A HREF="http://www.jars.com/classes/jediSearch.cgi?string=TSpaces&matchcase=NO&names=YES&keywords=YES&descriptions=YES&authorid=NOID&lastname=NONAME&age=NOAGE&start=NODATE&end=NODATE&maxhits=100&type=ALL&category=ALL&language=ALL&source=YES&nosource=YES&wholeword=NO&submit=Submit" TARGET=_new>
<FONT FACE="helvetica,arial" SIZE=-1 COLOR=000000><B>TSpaces Receives a JARS TOP 25% Rating</B></FONT></A>
<!----------------------------------------------------------------->
<p><hr><p>

<li>Version 2.0.1 (Released December, 1998)<br>
Version 2.0.1 contains numerous fixes and documentation enhancements to the 
original 2.0 release.   
<ul>
<p>
<li><b>AddHandler is now supported and documented</b><br>
It is now possible to dynamically add new commands to a 
TupleSpace.  An example of this is documented in the 
Programmer's guide.

<p>
<li><b>Client Query interface changes</b><br>
Previously in order to use the Query interface 
(i.e. IndexQuery), the client had to have access to the 
Server class files both at compile and runtime. This has
now been fixed but you will need to change the import 
statements in your Client source files.
<pre>
Replace:
>> import com.ibm.tspaces.server.tsmmdb.*;
With:
<< import com.ibm.tspaces.query.*;  
</pre>

<p>
<li><b>Server "hangs"</b><br>
A number of bugs in the lock manager have been fixed to reduce the 
exposure for the Server to hang under heavy load.  
<p>
<li><b>Memorey Leaks in the Server</b><br>
Two cases of severe "Memory leaks" in the server have been fixed.
There is still a few "dribbles" that remain to be found.

<p>
<li><b>HTTP Server Debug interface </b><br>
This now works with Netscape 4.05 and above.
<p>

<li><b>Additional types of named fields are supported.</b><br>
Previously due to an oversight on our part, only String and Integer 
were supported for Named Fields.  We now support the following:
String, Integer, Long, Float, Double, Short, Character, and Byte.
See the Programmer's guide for more information.

<p>
<li><b>Other minor fixes and documentation enhancements</b><br>
A few other minor fixes were made and some 
of the documentation has been improved, but it is still sparse
Comments on the documentation are welcome.
</ul>


<p><hr><p>

<li>Version 2.0.0 (Released Oct 1998)
This is a new version of TSpaces with 1 major new feature 
and a number of minor fixes and enhancements. 

<ul>
<p>
<li><b>Transaction Support for TSpaces</b><br>
The major improvement is that 
transaction support along with the related support for locking has 
been added to TSpaces.
More details on how to use Transactions  can be found in the 
<a href="ProgrGuide.html#Transactions">Programmer's Guide</a>.
<p>
<li><b>multiWrite Command</b><br>
We have added a command that will write a set of Tuples as one operation.
This is mainly intended as a performance improvement.
<p>
<li><b>DeleteTupleById Command</b><br>
This (together with the Tuple.getUniqueId()) allows one to delete a specific Tuple.
A typical use might be to delete a Tuple that was obtained at the result of the 
<b>EventRegister</b> facility.
<p>
<li><b>Update command</b><br>
This allows you to specify a template and the replacement Tuple so that the update 
happens as an atomic unit.
<p>
<li><b>Supported on JDK 1.2Beta4</b><br>
We have fixed the problems that prevented TSpaces from running on Java 
JDK 1.2Beta4.  It has now had extensive testing on Java 1.2.
</ul>
<p>
Because of the major changes in the client/server protocol that 
were needed for Transactions and locking, this version is incompatible with
the previous version.   You cannot use Version 1.2 clients with a 2.0 server or
vice versa.
<p><hr><p>


<li>Version 1.1.0 (Released April 1998)
This is a new version of TSpaces with a number of minor fixes and enhancements
and 2 major additions.  
<ul>
<p>
<li>Access Control for TSpaces<br>
The Access Control in TSpaces has been completely rewritten to provide better 
user authentication and enable the use of ACL (Access Control List) to grant 
permissions for a specified Space to Groups and Users.  Also a basic Admin application
has been provided so an Administrator can edit the Access Control Configuration.
More details can be found in the 
<a href="ProgrGuide.html#ClientAccessControl">Programmer's Guide</a>.
<p>
<li>
<a href="http://www.almaden.ibm.com/cs/TSpaces/Pilot.html" target=Main>
Proxy support for the 3COM Palm Pilot and IBM WorkPad</a>
</ul>
<p>
Because of the major changes in Access control, this version is incompatible with
the previous version. 
<p><hr><p>
<li>Version 1.0.2 (Released March 1998)
This was the first version of TSpaces to be publicly released on AlphaWorks. There were a
number of prior versions used internally in IBM. 
</UL>
<BR><BR>
<!----------------------------------------------------------------->
<hr>
<hr>
<a name=fixes211>
<h2>Version 2.1.1  Summary of Fixes</h2>
The following is a list of reported fixes that have been included in 
TSpaces Version 2.1.1.  There may have been a few unreported problems 
that were also fixed.  There is no new function in this release and 
hopefully no new bugs have been introduced.  

<ul>

<p>
<li><b>Rhonda</b><br>
The TSpaces Rhonda operation has been fixed.  It now has 
a slightly different interface.   
  

<p>
<li><b>eventRegister with SubclassableTuple gave a ClassCastException</b><br>
 
<p>
<li><b>NullPointerException in the XML support. </b><br>

<p>
<li><b>The optimization to run the server in the same JVM as the client has a 
serious design error.</b><br>

<p>
<li><b>A deadlock can occur in the server under certain circumstances</b><br>
This can happen when you have a Write operation that is canceled as the result
of a cleanup() call or a network error and you are using event callbacks.

<p>
<li><b>The sequence number for eventRegister is generated incorrectly</b><br>
Under some circumstances this can result in the client error message:
<pre>
 CallbackThread: Error: no Callback class registered for callback sequence #: 0
</pre>

<p>
<li><b>Possible hang when using Transaction support</b><br>
There is a fairly gross bug in the Transaction locking code that can result 
in the client hanging when a transaction contains a Take followed by a Write.

<p>
<li><b>IllegalMonitorStateException when using Local Server</b><br>
The initial release of Service Pack 5 had a broken version of TSCmdLocalImpl.

<p>
<li><b>The cleanup() method has been improved</b><br>
There is now a new cleanup(server,port) method so that only the 
connection to that server is terminated.  A number of other bugs in the 
cleanup processing were fixed.

<p>
<li><b>A new Debug.setQuiet(true) method added</b><br>
A call to this method will suppress all error messages from the client
TSpaces processing; even exceptions.
 
  
<p>
<li><b>Intermittant delays when a client disconnects with an active
EventRegister</b><br>
The first client that issues a request that satisfies the EventRegister 
will be delayed until the attempted callback to the disconnected 
client times out.
  
<p>
<li><b>EventRegister IndexQuery problem</b><br>
EventRegister with an IndexQuery argument failed if the index had
not yet been created.

<p>
<li><b>Applet problems</b><br>
A number of problems related to using TSpaces in applets have been 
fixed.

<p>
<li><b>Applet documentation </b><br>
A new section was added to the 
<a href="ProgrGuide.html" target=New>Programmer's Guide</a>
that discusses some of the TSpaces applet considerations.  
A new applet example was also added to the distribution. 

<p>
<li><b>XML eventRegister fixes</b><br>
A problem with using an XML query in an Event Register 
Delete request was fixed.
</ul>  
<! ------------------------------------------------------------------------->
<BR><BR>
<!----------------------------------------------------------------->
<hr>
<! ------------------------------------------------------------------------->
<BR><BR>
<!----------------------------------------------------------------->
<hr>
<hr>
<a name=fixes212>
<h2>Version 2.1.2  Summary of Fixes</h2>
The following is a list of reported fixes that have been included in 
TSpaces Version 2.1.2.  There may have been a few unreported problems 
that were also fixed.  There is no new function in this release and 
hopefully no new bugs have been introduced.  

<ul>

<p>
<li><b>Locking Improvements</b><br>
The major improvement in this release was a redesign of  
the database locking code.  
The previous version had a number of design problems
and implementation bugs.  This should fix the random invalid
"Unable to obtainLock" and server hangs that were occuring 
when the server was heavily loaded. It will now correctly recognize valid
deadlock conditions and signal this to the deadlocked transactions.
<p>
As a result of these improvements, the TSpaces server should be much more reliable
when run under heavy load for long periods of time.
<p>
<li><b>XMLField not parsed correctly </b><br>
If Tuple.add(XMLField) was used to create a Tuple containing the XML data, then 
the Tuple was not correctly parsed by the server and XMLQuery would not be able to
find the Tuple. 

<p>
<li><b>Support for new Java XML parser  (xerces.jar)</b><br>
Version 2.1.2 will only support the latest version of XML parser for Java.  
<ul>
To download the xerces.jar file that you will require, go to the 
<a href="http://www.alphaWorks.ibm.com/tech/xml" target=new>
http://www.alphaWorks.ibm.com/tech/xml</a> site and request the 
<b>download</b> option.  Specify the <b>xml4j_3_0_*</b> release and download 
the zip file. Then extract the xerces.jar file and save it somewhere convenient.
To make it accessible to the server, this jar file needs to be in the classpath used 
when you start the server.  If you are using the distributed <b>tspaces.bat</b> file
to start the server, you can simply specify the JAR_XML environment variable.
</ul>
<p>
<li><b>UTFDataFormatException when writing an XML Tuple </b><br>
If the XML file is greater than 65536 characters, then a UTFDataFormatException
is thrown because in Java 1.1 and 1.2, 65536 is the max length of a String that
can be serialized.  A new interface to XMLField has been added 
so that a byte array <i>byte[]</i> can be specified instead of a String.

<p>
<li><b>eventRegister with an XML Query incomplete</b><br>
Matching XML Tuples returned to the callback method are missing the 
QueryResult field.  

<p>
<li><b>eventRegister for XML failures </b><br>
If a "WRITE" eventRegister for XMLQuery was scheduled, subsequent "DELETE" operations
would sometimes fail.

<p>
<li><b>Blocking commands throw an Exception when timeout occurs.</b><br>
It is possible to specify a timeout value for blocking commands, such as 
waitToTake(template,timeout).  The documented action when the timeout 
occured is to return <i>null</i>, which is correct.
However the code was throwing an exception.

<br><b>Note:</b><br>
If you are using a timeout parameter in a blocking command,
then be sure that your code supports a <i>null</i> being returned.


<p>
<li><b>A client cleanup() call fails to disconnect</b><br>
Under some circumstances a client cleanup() call would fail to cleanly 
disconnect a client from the server.  

<p>
As a related enhancement, 
one can now specify "MaxIdleTime N" in the configuration file 
and a client will be automatically
disconnected if it is idle for more than N minutes.

<p>
<li><b>The server would not cleanly teminate when the shutdown() method was called </b><br>
If the server was started as a client thread and then the server.shutdown()
method was used to terminate it, it would not cleanly terminate.


<p>
<li><b>The FIFO operation would sometimes appear to not work </b><br>
Because the timer resolution for some systems is greater than 1 ms
(50 ms on Windows 95), it was possible that multiple tuples could 
be written with duplicate timestamps and these duplicate timestamp
tuples could be returned out of order.  

<p>
<li><b>Errors if simultaneous calls to create a new Space</b><br>
If multiple threads (or processes) made simultaneous calls to create a new Space, 
there was a race condition that would result in various exceptions 
or error messages.  

<p>
<li><b>System.exit() was used when the restart failed.</b><br>
Use of System.exit() when the checkpoint was invalid makes  
recovery difficult when one has a client that is internally 
starting the server.   
It will now throw a RollbackException for
this case and the caller can catch the exception and call TSServer 
again with the "freshStart" flag specified.

<p>
<li><b>IndexArrayBoundException.</b><br>
Under certain circumstances, the server would throw an IndexArrayBoundException 
on a Write command.  

<p>
<li><b>OutOfMemoryError handling</b><br>
This version has some improvements in to help reduce the severity 
of OutOfMemoryError exceptions in the server. 
<ul>
<p>
Changes were made to the checkpoint component to reduce the memory utilization
when checkpointing large spaces.   
<p>
A new optional "MemoryLimit" parameter is available in the configuration file.
If specified (in K bytes), it should be set to at least 4 meg less than the 
amount of memory specified by the <b>java -Xmx</b> option specified 
when the server is started.
When the memory utilization reaches this value, all write requests to the server 
will be rejected. 
<br>
For example, if the server is started with the following statement,
<pre>
  java -Xmx64000k com.ibm.tspaces.server.TSServer  
</pre>
Then in the tspaces.cfg file, the following can be specified.
<pre>
  MemoryLimit = 60000   
</pre>
</ul>


<p>
<! ------------------------------------------------------------------------->
<li><b>URLCopy fixes</b><br>
Fixed various problems with the use of URLCopy.
 

<p>
<! ------------------------------------------------------------------------->
<li><b>ConsumingScanHandler</b><br>
A new example of a user command handler that will do a limited scan operations. 
It allows the client to issue a consumingScan for the next N matching Tuples. 

<p>
<! ------------------------------------------------------------------------->
<li><b>Other changes</b><br>
Numerous other changes were made to fix the problems reported during the 
Beta test phase.  
 

</ul>  
<! ------------------------------------------------------------------------->
<BR><BR>
<!----------------------------------------------------------------->
<hr>
<! ------------------------------------------------------------------------->
[
<a href="../index.html" target=_top>
TSpaces home page </a>
]

</body>
</HTML>
